home *** CD-ROM | disk | FTP | other *** search
/ Sprite 1984 - 1993 / Sprite 1984 - 1993.iso / src / X11R4 / cmds / X / ddx / sprite.X11R3 / hdr / cg2var.h < prev    next >
Encoding:
C/C++ Source or Header  |  1989-11-03  |  2.8 KB  |  89 lines

  1. /* @(#)cg2var.h 1.10 88/02/08 SMI */
  2.  
  3. /*
  4.  * Copyright 1983, 1987 by Sun Microsystems, Inc.
  5.  */
  6.  
  7. #ifndef    cg2var_DEFINED
  8. #define    cg2var_DEFINED
  9.  
  10. /* FBIOSATTR device specific array indices */
  11. #define    FB_ATTR_CG2_FLAGS    0    /* attribute flags word */
  12. #define    FB_ATTR_CG2_FLAGS_SUN3    1    /* bit set for Sun-3 color board */
  13. #define    FB_ATTR_CG2_FLAGS_PRFLAGS 2    /* bit set if PRFLAGS valid */
  14.  
  15. #define    FB_ATTR_CG2_BUFFERS    1    /* # of buffers */
  16. #define    FB_ATTR_CG2_PRFLAGS    2    /* same as struct cg2pr flags */
  17.  
  18. struct cg2pr {
  19.     struct cg2fb *cgpr_va;        /* mapped color board */
  20.     caddr_t gp_shmem;        /* pointer to shared memory */
  21.     int cgpr_fd;            /* primary flag */
  22.     int cgpr_planes;        /* color bit plane mask reg */
  23.     struct pr_pos cgpr_offset;    /* pixrect offset */
  24.     short cg2_index;        /* cg2 board index */
  25.     char minordev;            /* true minor dev to stuff into GP */
  26.     int gbufflag;            /* gbuffer flag */
  27.     int ioctl_fd;            /* the fd to talk to the driver with */
  28.     int ncmd;            /* length of cmdver array */
  29.     u_char *cmdver;            /* version #'s for each command */
  30.  
  31.     int flags;        /* misc options */
  32. #define    CG2D_STDRES    1    /* standard (1152 x 900) resolution */
  33. #define    CG2D_FASTREAD    2    /* has fast read feature */
  34. #define    CG2D_ROPMODE    4    /* has aux. ropmode register */
  35. #define    CG2D_32BIT    8    /* has 32 bit bus */
  36. #define    CG2D_DBLBUF    16    /* has double buffering */
  37. #define    CG2D_WINDMA    32    /* has window DMA */
  38. #define    CG2D_ZOOM    256    /* has struct cg2_zoom */
  39. #define    CG2D_NOZOOM    512    /* has struct cg2_nozoom */
  40. #define    CG2D_ID        1024    /* has ID, extended status registers */
  41. #define    CG2D_GP2    (1<<29)    /* GP is GP2 */
  42. #define    CG2D_GB        (1<<30)    /* GB attached */
  43. #define    CG2D_GP        (1<<31)    /* GP pixrect -- must be sign bit! */
  44.     int linebytes;        /* bytes per line (pixel mode) */
  45. };
  46.  
  47. #define cg2_d(pr)     ((struct cg2pr *)(pr)->pr_data)
  48. #define cg2_fbfrompr(pr) (((struct cg2pr *)(pr)->pr_data)->cgpr_va)
  49.  
  50. #define cg2_ropword(cgd, plane, ax, ay)                    \
  51.         (cg2_ropwordaddr((cgd)->cgpr_va, (plane),        \
  52.          (cgd)->cgpr_offset.x+(ax),(cgd)->cgpr_offset.y+(ay)) )
  53. #define cg2_pixel(cgd, ax, ay)                        \
  54.         (cg2_pixaddr((cgd)->cgpr_va,                \
  55.          (cgd)->cgpr_offset.x+(ax),(cgd)->cgpr_offset.y+(ay)) )
  56. #define cg2_roppixel(cgd, ax, ay)                    \
  57.         (cg2_roppixaddr((cgd)->cgpr_va,                \
  58.          (cgd)->cgpr_offset.x+(ax),(cgd)->cgpr_offset.y+(ay)) )
  59.  
  60. #define cg2_prd_skew(cgd, ax)                        \
  61.          (((cgd)->cgpr_offset.x+(ax)) & 15)
  62.  
  63. /* GP sync macro */
  64. #define    GP1_PRD_SYNC(prd, error) _STMT( \
  65.     if ((prd)->flags < 0 && gp1_sync((prd)->gp_shmem, (prd)->ioctl_fd)) \
  66.         { error; })
  67.  
  68. /* ops vector and functions */
  69. extern    struct pixrectops cg2_ops;
  70.  
  71. int    cg2_rop();
  72. int    cg2_putcolormap();
  73. int    cg2_putattributes();
  74.  
  75. #ifndef KERNEL
  76. int    cg2_stencil();
  77. int    cg2_batchrop();
  78. Pixrect *cg2_make();
  79. int    cg2_destroy();
  80. int    cg2_get();
  81. int    cg2_put();
  82. int    cg2_vector();
  83. Pixrect *cg2_region();
  84. int    cg2_getcolormap();
  85. int    cg2_getattributes();
  86. #endif !KERNEL
  87.  
  88. #endif    cg2var_DEFINED
  89.